In general, the present invention relates to a high-speed data processor and coding method. More specifically, the invention relates to a high-speed data processor and coding method useable in high resolution printing and scanning devices for computer systems.
Data compression is generally referred to as the technique of reducing the number of binary digits (or bits) required to represent image data. Image data can be compressed using a known data compression technique, such as arithmetic or Huffman encoding, and a standard data compression format, such as ITU Group 3/4, PACKBITS, LZW, JBIG, JPEG or ABIC.
Arithmetic coding is a well known and efficient process for entropy coding an input stream of image data. Arithmetic coding is used in many data compression applications including the ISO standards for JPEG and JBIG. One of the computations performed by an encoder implementing arithmetic coding to compress image data requires a series of processing steps which includes various calculations and decisions. The maximum speed of the overall encoding process depends on the ability of the encoder to perform these (and other) calculations and decisions quickly. In existing encoders, however, these processing steps are performed sequentially because each step depends upon the result of a previous step. This imposes a constraint on the minimum encoding cycle time.